package com.magicalcoder.youyamvc.app.classteacher.dao;

import com.magicalcoder.youyamvc.app.model.defined.IntegerDate;
import com.magicalcoder.youyamvc.app.model.defined.IntegerObject;
import com.magicalcoder.youyamvc.app.model.ClassTeacher;
import com.magicalcoder.youyamvc.app.model.defined.ClassTeacherWithClasses;
import com.magicalcoder.youyamvc.app.model.defined.ClassTeacherWithTeacher;
import java.util.List;
import java.util.Map;

/**
* 代码为自动生成 Created by www.magicalcoder.com
* 如果你改变了此类 read 请将此行删除
* 欢迎加入官方QQ群:323237052
*/

public interface ClassTeacherDao{
    ClassTeacher getClassTeacher(Map<String, Object> query);
    List<ClassTeacher> getClassTeacherList(Map<String, Object> query);
    Integer getClassTeacherListCount(Map<String, Object> query);
    Long  insertClassTeacher(ClassTeacher entity);
    Long  replaceClassTeacher(ClassTeacher entity);
    void batchInsertClassTeacher(List<ClassTeacher> list);
    void batchReplaceClassTeacher(List<ClassTeacher> list);
    void batchUpdateClassTeacher(List<ClassTeacher> list);
    void updateClassTeacher(ClassTeacher entity);
    void updateClassTeacherWithoutNull(ClassTeacher entity);
    void updateClassTeacherByWhereSql(Map<String,Object> entity);

    List<ClassTeacherWithClasses> getClassTeacherWithClassesByClassIdList(Map<String, Object> query);

    List<ClassTeacherWithTeacher> getClassTeacherWithTeacherByTeacherIdList(Map<String, Object> query);

    void truncateClassTeacher();
    void deleteClassTeacher(Map<String, Object> query);
    void deleteClassTeacherList(Map<String, Object> query);
    void deleteClassTeacherByWhereSql(Map<String, Object> query);
    void batchDeleteClassTeacher(List<Long> list);
    void batchDeleteClassTeacherList(List<ClassTeacher> entityList);
    List<IntegerDate> statisticsDateCountList(Map<String,Object> query);
    List<IntegerDate> statisticsDateIntervalList(Map<String,Object> query);
    List<IntegerObject> statisticsGroupList(Map<String,Object> query);
}
